#include <iostream>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <string>
#include <ctime>
using namespace std;

namespace bit
{
    template <size_t N>
    class bitset
    {
    public:
    bitset()
    {
        _v.resize(N/32 +1);
    }
    void set(size_t x)
    {
        size_t i = x/32;
        size_t j = x%32;
        _v[i] |= (1 << j);
    }
    void erase(size_t x)
    {
        size_t i = x/32;
        size_t j = x%32;
        _v[i] &= ~(1<<j);
    }
    bool find(size_t x)
    {
        size_t i = x/32;
        size_t j = x%32;
        return _v[i] & (1<<j);

    }
    private:
        vector<int> _v;
    };
};

int main()
{
    bitset<0xffffffff> b;
    b.set(10);
    cout<<b.find(10)<<endl;
    return 0;
}